home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-01-29 | 2.0 KB | 69 lines | [TEXT/MPS ] |
- {
- Created: Wednesday, July 16, 1991 at 2:05 PM
- Unmangler.p
- Pascal Interface to the Macintosh Libraries
-
- Copyright Apple Computer, Inc. 1988-1991
- All rights reserved
- }
-
-
- {$IFC UNDEFINED UsingIncludes}
- {$SETC UsingIncludes := 0}
- {$ENDC}
-
- {$IFC NOT UsingIncludes}
- UNIT Unmangler;
- INTERFACE
- {$ENDC}
-
- {$IFC UNDEFINED UsingUnmangler}
- {$SETC UsingUnmangler := 1}
-
- {$I+}
- {$SETC UnmanglerIncludes := UsingIncludes}
- {$SETC UsingIncludes := 1}
- {$IFC UNDEFINED UsingTypes}
- {$I $$Shell(PInterfaces)Types.p}
- {$ENDC}
- {$SETC UsingIncludes := UnmanglerIncludes}
-
- (*
- FUNCTION unmangle(dst: UNIV Ptr; src: UNIV Ptr; limit: LongInt): LongInt; C;
- {This function unmangles C++ mangled symbols (i.e. a symbol with a type signature).
- The mangled C string is passed in “src” and the unmangled C string is returned in
- “dst”. Up to “limit” characters (not including terminating null) may be retured
- in “dst”.
-
- The function returns,
-
- -1 ==> error, probably because symbol was not mangled, but looked like it was
- 0 ==> symbol wasn't mangled; not copied either
- 1 ==> symbol was mangled; unmangled result fit in buffer
- 2 ==> symbol was mangled; unmangled result truncated to fit in buffer}
- *)
-
- FUNCTION Unmangle(dst: UNIV StringPtr; src: UNIV StringPtr; limit: LongInt): LongInt;
- {This function unmangles C++ mangled symbols (i.e. a symbol with a type signature).
- The mangled Pascal string is passed in “src” and the unmangled Pascal string is
- returned in “dst”. Up to “limit” characters may be retured in “dst”.
-
- The function returns,
-
- -1 ==> error, probably because symbol was not mangled, but looked like it was
- 0 ==> symbol wasn't mangled; not copied either
- 1 ==> symbol was mangled; unmangled result fit in buffer
- 2 ==> symbol was mangled; unmangled result truncated to fit in buffer
-
- This function is identical to unmangle() above except that all the strings are
- Pascal instead of C strings.
- }
-
-
- {$ENDC} { UsingUnmangler }
-
- {$IFC NOT UsingIncludes}
- END.
- {$ENDC}
-
-